In today's world of computer-aided design (CAD) applications and geometry modeling systems, parts are commonly designed in one of two ways: history-based or history-less. A history-based system is commonly characterized by the parametric modeling paradigm that emerged in the mid-1980s. In parametric modeling systems, a recipe, or history tree, is created to reflect how things are related to one another. When a change is made to one original item, all items created later in time from the original item are updated. In this way, for example, two faces may remain coplanar, because they were designed with such a relationship captured during the design process and simply “replayed” during the update process. FIGS. 1a-1c illustrate a trimetric projection of a three-dimensional block. Referring to FIG. 1a, a C block 100 in three-dimension (“3D”) is viewable to a user on a computer display and is in need of a modification by a user by altering a bottom leg 105, a top leg 110, or both the bottom leg 105 and the top leg 110. In a history-based system, how easily the user modifies the C block 100 depends upon how it was originally designed in the CAD application system, such as SolidEdge by Siemens Product Lifecycle Management Software Inc. Commonly, an original designer creates and/or designs a part that is later modified by a modify designer who maybe completely unfamiliar to the original designer. For example, if the original designer, i.e., the person that originally designed the C block 100, had the design method intent to constrain the faces related to the bottom leg 105 and the top leg 110 as coplanar, then the modification action illustrated in FIG. 1c is easy to accomplish using known parametric/history-based modeling techniques that are basic to one skilled in the art of 3D model design, but for simple explanation because the two faces are constrained to be coplanar, moving one face will cause the other face to move as well. If on the other hand, the modify designer intends to move only the face associated with the bottom leg 105 while leaving the top leg 110 alone, e.g., FIG. 1b, then several additional steps must transpire to remove the coplanar constraint requiring several additional steps that begins with understanding how the two legs of the C block 100 were created if the modify designer was not the original designer. Furthermore, if the original designer of the C block 100 did not model the bottom leg 105 and the top leg 110 to be coplanar but modeled the legs by some other method such as a distance or a formula, then to modify both as seen in FIG. 1c would increase the difficulty to a point where the modify designer may as well model the C block 100 from scratch.
On the other hand, modifying the C block 100 in a history-less or the body-based approach taken by companies like CoCreate, IronCAD, and Kubotek, for example, fails to maintain the history-tree made popular by the parametric modeling paradigm. In the history-less approach, changes are made explicitly for each item on a solid model. If the original designer of the C block 100 intended that the faces on the bottom leg 105 and the top leg 110 maintain a coplanar relationship, later modifications require the manual selection of the faces for edit to ensure the desired result, which is difficult if the original designer's intent is unknown or unascertainable. For example, the modify designer can make either change illustrated in FIG. 1b or FIG. 1c simply be selecting the one face or individually select all of the other coplanar faces, which happens to be a small number in this example but could be in the hundreds in a complex assembly model. Alternatively, some software applications could allow the modify designer to “make faces coplanar” and permanently capture the design intent after the fact at time of edit, but this can also be cumbersome particularly with very large models. This later alteration would make the modification see in FIG. 1b difficult at a later date particularly since now the design intent may be baked into the model contrary to design intent.
The issue with the history-based approach is that design intent is incorporated and fixed at the time of model creation, which can complicate making changes later-on that were not anticipated at the time of model creation. In contrast, the history-less systems are flexible about change at a later date, but capture very little intelligence about how things are related. If modify designers determine to manually capture such intelligence at a later point in time, then, like history-based systems, that intelligence is incorporated and fixed thereby limiting further flexibility.
That said, in the geometry modeling systems, geometry selection techniques involve setting options prior to selecting the geometry, i.e., the designers have to plan ahead to prepare for what they want to select. Planning ahead entails recommended preparatory actions and in many cases recommended error recovery when the selection does not satisfy the modification at hand. These recommended actions prove to overly labor intensive for history-less systems. In history-less system commands, selection options used to perform a modification are likely to change between command sessions, as well as within the command session. For example, with a move face command, the designer may move a boss, a rib, and a face connecting the boss and the rib in one command session. In another command session, the designer may move a single face or simply a slot. There is a technical challenge to identify under what conditions faces exist on a model that can serve to bound the merged rib where the merged rib is a rib that has a face that is flush with a non-rib face. It is known that a “rib” is a collection of faces that form a convex shape, and a “merged rib” 115 has the additional property that a rib face must be subdivided to isolate it from the remaining faces of the model. For example, if the modify designer intends to modify the merged rib 115 and intends to only select the merged rib 115 face the modify designer may have accidentally selected an entire face of the C block 100, indicated at 120.
The inventors have advantageously recognized a need for a system and method for splitting faces for modification, particularly those of the merged rib, in a solid model.